<?xml version="1.0" encoding="UTF-8"?>
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:ui="http://java.sun.com/jsf/facelets"
	xmlns:p="http://primefaces.org/ui"
	template="/WEB-INF/templates/default.xhtml">
	<ui:define name="content">
		<!-- Formulário de Pesquisa -->
		
		<h:form id="frmPesquisa" styleClass="form-horizontal" prependId="false">
			<p:outputPanel id="panelPesquisa" rendered="#{!departamentoController.mostraCadastro}">
				<fieldset>
					<legend>#{messages.TITLE_PESQUISA_DEPARTAMENTO}</legend>
	
					<!-- Campos de Pesquisa -->
					<div class="control-group">
						<h:outputLabel for="txtNomeSearch" value="#{messages.LABEL_NOME}:" styleClass="control-label"/>
	                    <div class="controls">
							<p:inputText id="txtNomeSearch" value="#{departamentoController.departamentoSearch.nome}"  maxlength="100" styleClass="input-xxlarge"/>
	                    </div>
					</div>
					<!--End Campos de Pesquisa -->
	
					<!-- Primeiro Grupo de botões -->
					<div class="form-actions">
						<p:commandButton id="btnPesquisar" value="#{messages.LABEL_PESQUISAR}" action="#{departamentoController.pesquisar()}"
							process="frmPesquisa" update="frmPesquisa" styleClass="btn btn-primary"/>
							
						<p:commandButton id="btnLimpar" value="#{messages.LABEL_LIMPAR}" action="#{departamentoController.limpar()}"
							process="@this" update="frmPesquisa" styleClass="btn btn-primary"/>
	
						<p:commandButton id="btnNovo" value="#{messages.LABEL_NOVO}" action="#{departamentoController.novo()}" process="@this"
	                    	update="frmPesquisa, :frmCadastro" styleClass="btn btn-primary"/>
	                </div>
	                <!--End Primeiro Grupo de botões -->
				</fieldset>
	
				<!-- Grid de dados -->
				<p:dataTable id="tblDepartamento" var="departamento" value="#{departamentoController.departamentos}" rows="10" paginator="true" 
	           		style="#{empty departamentoController.departamentos ? 'display:none;' : 'display:table; width: 100%;'}" styleClass="table table-bordered">

	             	<f:facet name="header">
	             		<h:outputText value="#{messages.TITLE_PESQUISAR}"/>
	     			</f:facet>
	     		
	     		    <p:column headerText="#{messages.LABEL_NOME}" >  
	                    <h:outputText value="#{departamento.nome}"/>
	                </p:column>  

	                <p:column headerText="#{messages.LABEL_DESCRICAO}">
	                	 <h:outputText value="#{departamento.descricao}"/>
	                </p:column>  

					<!-- Segundo Grupo de botões -->
	                <p:column headerText="#{messages.LABEL_ACOES}" style="text-align: center !important;">
	               		<p:commandLink id="btnAlterar" title="#{messages.LABEL_ALTERAR}" action="#{departamentoController.alterar(departamento)}"
	                		update=":frmPesquisa, :frmCadastro">
	                		<p:graphicImage value="#{resource['images/edit.png']}" />
	                	</p:commandLink>

	                	<p:spacer height="0" width="20"/>

	                	<p:commandLink id="btnRemover" title="#{messages.LABEL_EXCLUIR}" onclick="confirmModal.show();">
	                		<f:setPropertyActionListener value="#{departamento}" target="#{departamentoController.departamento}"/>
	                		<p:graphicImage value="#{resource['images/trash.png']}" />
	                	</p:commandLink>
	                </p:column>
	                <!-- End Segundo Grupo de botões -->
				</p:dataTable>
				<!-- End Grid de dados -->
			</p:outputPanel>
		</h:form>
		<!-- End Formulário de Pesquisa -->

		<!-- Formulário de Cadastro -->
		<h:form id="frmCadastro" prependId="false" styleClass="form-horizontal">
			<p:outputPanel id="panelCadastro" rendered="#{departamentoController.mostraCadastro}">
				<legend style="#{departamentoController.isCadastro ? '' : 'display: none;'}">#{messages.TITLE_CADASTRO_DEPARTAMENTO}</legend>
				<legend style="#{!departamentoController.isCadastro ? '' : 'display: none;'}">#{messages.TITLE_ALTERACAO_DEPARTAMENTO}</legend>

				<div class="control-group">
					<h:outputLabel for="txtNome" value="#{messages.LABEL_NOME}:" styleClass="control-label required"/>
                    <div class="controls">
						<p:inputText id="txtNome" value="#{departamentoController.departamento.nome}" maxlength="100"
							label="#{messages.LABEL_NOME}" styleClass="input-xxlarge"/>
					</div>
				</div>

				<div class="control-group">
					<h:outputLabel for="txtDescricao" value="#{messages.LABEL_DESCRICAO}:" styleClass="control-label required"/>
                    <div class="controls">
						<p:inputText id="txtDescricao" value="#{departamentoController.departamento.descricao}" maxlength="100"
							label="#{messages.LABEL_DESCRICAO}" styleClass="input-xxlarge"/>
					</div>
				</div>

				<div class="form-actions">
					<p:commandButton id="btnSalvar" value="#{messages.BTN_SALVAR}" action="#{departamentoController.salvar()}"
	                	update=":frmCadastro, :frmPesquisa" styleClass="btn" oncomplete="Util.scrollTop();" process="frmCadastro"/>
	                	
	                <p:commandButton value="#{messages.LABEL_CANCELAR}" action="#{departamentoController.cancelar()}" 
						update=":frmCadastro, :frmPesquisa" immediate="true" styleClass="btn"/>
				</div>
			</p:outputPanel>
		</h:form>
		
		<!-- Dialog de confirmação de exclusão -->
       	<h:form prependId="false">
			<p:confirmDialog message="#{messages.TITLE_HEADER_REMOVER}" header="Confirmação" severity="alert" widgetVar="confirmModal">
				<p:commandButton value="#{messages.LABEL_SIM}" inline="true" process="@this" actionListener="#{departamentoController.remover()}"
					onclick="confirmModal.hide();" update=":frmPesquisa" oncomplete="Util.scrollTop();"/>

				<p:commandButton value="#{messages.LABEL_NAO}" type="button" onclick="confirmModal.hide();"/>
			</p:confirmDialog>
		</h:form>
       	<!-- End Dialog de confirmação de exclusão -->
	</ui:define>
</ui:composition>